參與iT邦JavaScript中忍比賽,獲得一本JS武林祕級“JavaScript設計模式”,因而閉門修練月餘,今神功既成故節錄三十片段,以饗邦友。
撰寫可維護的程式碼其中的一個要點為:
避免使用全域變數。
JS用函數來管理作用域。定義在函式內的變數為區域變數,在函式外無法存取。另一方面全域變數(global variable)則是定義在函式作用域之外,或是沒被宣告就直接使用的變數。
以下結果皆為“hello”
myglobal = "hello";
console.log(myglobal);
console.log(window.myglobal);
console.log(window["myglobal"]);
console.log(this.myglobal); //this相當於window物件
考慮以下程式碼:(錯誤作法)
function sum(x, y){
result = x + y; //result 未經宣告即使用,故為全域變數
return result;
};
最好寫成:(正確作法)
function sum(x, y){
var result = x + y; //result 為區域變數,耶!
return result;
};
以上是“避免使用全域變數”該注意的部份,這節上到這裏,下課打球囉!
待續.....